<?php 

/** 
* 日付処理（strtotime） 
* 
* マニュアル 
* http://php.net/manual/ja/function.strtotime.php 
* 
* 語彙はこっち 
* http://www.php.net/manual/ja/datetime.formats.relative.php 
* 
* 日付っぽい値を与えていい。8桁数値や/区切り、-区切りもOK 
* like: strtodate.php 20100101 or 2010-01-01 or 2010/01/01 
* 
*/ 
// date() に対して Warning が出るのでフォロー
date_default_timezone_set('Asia/Tokyo');

$words = array( 
'today' 
,'yesterday' 
,'tomorrow' 
,'first day' // 当月１日 
,'first day last month' // 先月１日（20110102とか入れてみるといい） 
,'last day' 
,'last day next month' 
,'last day last month' 
,'last day 2 month ago' 
,'monday' // 曜日の処理は、必見。試してみて。 
,'last monday' 
,'this monday' 
,'next monday' 
,'monday this week' // 今週の月曜日 
,'2 day ago last monday' 
,'2010-12 last day' 
,'2010-03 last day' 
,'2010-02 last day' 
,'2009-02 last day' 
,'2008-02 last day' 
,'2007-02 last day' 
,'2010-10' 
,'2010/10' // さすがにこれは駄目みたい 
,'2010/10/02' 
,'201010' 
,'20101002' 
,'last day of march 2009' 
,'last day of march' 
,'last sunday of last month' // 先月の最後の日曜日 
,'first monday of last month' // 先月の最初の月曜日 
,'wednesday next week' // 来週の水曜日（日曜が週区切りみたい） 
,'10 days ago' // 10日後 
); 

$now = time(); 

if($argv[1]){ 
$now = strtotime($argv[1]); 
} 
echo date('Y/m/d H:i:s [D]',$now) . " : use value($now)" . PHP_EOL; 

foreach($words as $w){ 
echo date('Y/m/d H:i:s [D]', strtotime($w,$now)) . " : $w" . PHP_EOL; 
} 
